Copyright: ®1996 Marquis Computing, Inc.


Contents

Please choose a help topic from the list below.

 	Step-by-Step guide to using TimeCop

  	How to obtain support

 	Technical reference

 	Quick-Start on TimeCop

Contents

10


Support
Support Services

 This section provides instructions on support services available from Marquis Computing, Inc.

In order to save your time and provide you with the best possible support, we would like you to do a few things before you contact us. These simple steps will get you the fastest answer to your questions.

•	Have you read the manual? Did you look under the table of contents and the index? Did you re-check the manual?

•	Have you used the search feature of the help system?

•	Have your serial number ready. It was on the registration card stuck on the inside cover of the manual.

•	Have your version number ready. Use the About... dialog to see the version number. It is located at the bottom left of the About screen.

 By Phone

Technical support is available from 9:00am to 5:00pm, Monday through Friday, EST. The technical support phone number is (860) 963-7065. Have version number and registration number ready.

 By Fax

You can fax your questions to (860) 928-7727 24 hours a day. Don’t forget to include version and registration numbers. Provide as much detail as possible in your fax.

 By E-Mail We also provide tech support via electronic mail. Send e-mail to internet info@marquistools.com. Don’t forget to include version and registration numbers. Include any code examples as a file attachment to the email. You can also visit our web site at http://www.marquistools.com.

 By Mail You can send regular mail to us. Don’t forget to include version and registration numbers. Include any code examples on diskette. Our mail address is:

Marquis Computing, Inc.

ATTN: Tech Support

P.O. Box 387

Pomfret Center,  CT 06259-0387

Support

10002


Guide
Step-by-Step Guide

 This section provides step-by-step help on using TimeCop.

The process of using TimeCop is quite easy.

•	Generate a key using the Wizard. Set the TimeLock.Key property to the new key.

•	Set the TimeLock.Msg property to a message you want shown.

•	Set the TimeLock.Value to the number of days you want the program to run.

•	Lastly, call the Validate method to process this application.

Guide

10003


Technical Reference

 This section provides a technical discussion on how TimeCop operates.

What TimeCop Does

TimeCop embeds a unique seed key (up to 128 characters long) into your program(s). This key is then kept hidden and used to generate other keys and cypher information and lock states. This cyper engine uses a technology called CypherStream. CypherStream mutates the key(s) 18 times a second.

This mutating engine, seeded with the actual seed key, produces a psuedo random state machine. The state of the cypher engine is variant. The number of possible keys is 52^128th power; changing every 1/18 of a second. CypherStream is unbeatable, and based on proven cryptographic techniques.

The end result of this state driven cypher engine (CypherStream) is that any key for any program (even program with the same hidden seed key) is valid for one decryption only. It will never work again on any program including the program that generated it and even programs with the same hidden seed key. This means that no matter how many programs you distribute, even with the same seed key, the "unlocking" key will always be unique. This means your program is hack-proof.

Using TimeCop Key Manager

The Key Manger program (trialit.exe) creates the keys your programs will use. The key manager is also used to create extension keys and registration keys for client applications. The client application will generate a random unique key each time it starts. The is the enquiry key, which the user communicates to the developer. The enquiry key is entered into the key manager and validated against a copy of the applications hidden seed key. If valid (if it is a key derived from the hidden seed) then a random unique key is generated which encodes the reponse. The response can be a time extension (some number of days) or a registration (allow to run into Dec. 31, 9999) response. This reponse is entered into the client application, and deciphered. Note that any enquiry key is valid for this moment in time only. It will not be valid in another program or anywhere else - the CypherStream is time and state dependent. Also, the response key is only valid the a client application which could generate the enquiry key entered - thus no response key is ever valid again. For example, even if the user enters the response key incorrectly, the response key is no longer valid because the state of the cypher engine will have mutated. In this case, another enquiry key must be generated and a new response key must be created for the new enquiry key.

CypherStream is gauranteed unbeatable unless you have mainframe computing power, lots of time, money and resources and a burning drive to crack it. Gauranteed or your money back.

TimeCop Client Functions

When your program runs, TimeCop client software queries the registry to determine if the software is installed or not. If not, the mciKeyNotFound message is generated. You can respond to this message (or not) depending on the needs of your software. Typically, the response to mciKeyNotFound is to use the mciSetLock method to setup a time lock for this application.

If the system date is changed, the client generates the mciDateSetBack message. Normally you will respond to this message by not allowing your program to run.

If the key is changed by a user (hacking) then the CypherStream encryption checksums will fail, and the mciBadValue message is generated.

If the software is de-installed, the registry key remains, and subsequent installations on the machine of the same software will fail with the mciExpired or mciBadValue message.

If the software is re-installed, the registry key will still be there, and the software will not run.

If windows is completely deleted from a machine; and then re-installed, and the registry has bee erased and replaced, then the software will generate an mciKeyNotFound message; to which you can respond or not. This is the only way around TimeCop; and in reality, is understandable. The purpose of TimeCop is to allow a program to run (from a clean installation) for a preset period of time. A new installation of Windows, with a clean registry looks to TimeCop like a new installation; which it is. Remember, the program will only run for as long as you have decided. It is doubtful is a user is willing to erase and then reinstall Windows just to get another 15 or 30 days from your software!!

It is not possible to modify the registry entires or change the system clock back and "trick" TimeCop into running. TimeCop runs until the time allocated by by via the mciSetLock function expires.

Technical Reference

10004


quick start
Quick-Start

 This section is a quick start on using Marquis TimeCop

The fastest way to get going is to use the TimeCop key manager Wizard to generate a key; and then use the provided sample program DEMOIT.MAK|VBP as a start point.

The Startup.bas module is pre-configured to handle all common occurances; all you need to do is insert the key from the key manager into Startup.bas, include startup.bas, trialit.bas and demoit.frm into your application.

If your program uses Sub Main() to start, copy the contents of startup.bas Sub Main into your own sub main and then remove Startup.bas. If you do not use Sub Main to start, insert a call to Main after your programs initialization code. Actually, you can insert a call to Main anywhere in your program; or set your startup to Sub Main.

Quick Start

4000


Learning New Object Name

While scanning a form for object names, an object was found which is not in the known classname database.The dialog shows the object classname and is asking you to enter what prexif should be used for objects of this type.

Learning New Classname

11024


Answer Wizard
Marquis Answer Wizard

The Marquis Answer Wizard is used in many new Marquis products. It provides a more user friendly means to access help. Type in your question in plain english; or choose a previous help topic from the drop down. Press enter or choose search.

If the Answer Wizard cannot match your request or you simply want to search help directly just press F1 anywere. Choosing the Help Options tab of the Answer Wizard will let you access the most common help functions.

Answer Wizard

1961


Key Generation Dialog

This dialog is where you generate keys for use in your application that you want to time lock.

Key Generation Dialog

15001


Key Generation - Open Button

This button displays the open file dialog, just as the File...Open Key or Ctrl+O shortcut do.

openbutton

15000


Key Generation - Close Button

This button closes this Key Generation Dialog, just as the File...Close or Ctrl+F4 shortcut do.

closebutton

15002


Key Generation - Save Button

This button saves this key, just as the File...Save or Ctrl+S shortcut do.

savebutton

15003


Key Generation - Generate Button

This button generates a key value, just as the Edit...Generate Key or F5 shortcut do.

generatebutton

15004


Key Generation - Help Button

This button displays help for the currently selected item, just as the F1 shortcut does.

helpbutton

15005


Calendar Dialog

This dialog is where you can choose a date. You can increment or decrement the year or month using the arrow buttons on top of the calendar. You can move to today's date by chooing the Today button.

You can use the keyboard or mouse to choose a date. When you have selected the date you want the lock to terminate on, double-click on that date or press enter. Press escape or close the dialog using the windows close button.

Calendar Dialog

15006


Key Retrieval

This dialog is where you can browse through all key files; showing the keys linked file information and key value.

Choose a key from the drop down; its data will be shown.

Key Retrieval

15007


Wizard Step 1
TimeCop Wizard

Wizard Step 1

This is the TimeCop Wizard. It provides guidance to using TimeCop features.

Choose one of the three main functions of TimeCop and then press the Next button.

•	 To generate a new program key, choose the Generate a program key option.

•	To register an existing program, choose the Register an existing program option.

•	To extend a programs time lock, letting it run longer, choose the Extend a programs time lock option.

Wizard Step 1

3000


Wizard Step 2
TimeCop Wizard

Wizard Step 2

This is the TimeCop Wizard. It provides guidance to using TimeCop features. Step 2 depends on the program action you are taking from Step 1.

This is Step 2 for Creating A New Key.

•	Use the ... button to navigate to a program filename that this key will be for. You must choose a program filename (even if you have not added TimeCop to the program yet) in order to create a key. You can update the key after you have created it.

•	Use  the ... button to enter a filename or choose a filename for this key. Each key will have a disk file associated with, which contains the keys information; including linked filename, version, key value etc.

•	When done, press Next.

Step 2 For Registering A Product

•	 Use the ... button to open the key definition file for the application you want to register. The key definition file must match the key used by the product you are registering.

•	Enter the product inquiry code into the product inquiry field.

•	When done, press Next.

Step 2 for Extend A Products Time Lock

•	 Use the ... button to choose a product key definition file for the product you want to extend.

•	Enter the inquiry code for the product.

•	Enter (or choose from the drop down list) the number of days you want to extend the product for; or press the Date... button to choose a date from a calendar that you want the product to stop running on.

•	When done, press Next.

Wizard

3001


Wizard Step 3
TimeCop Wizard

Wizard Step 3

This is the TimeCop Wizard. It provides guidance to using TimeCop features. This tab implements the setup you have chosen from Step 1 and Step 2.

Options

•	 Set options (such as key length) using this tab.

•	When complete, choose Finish to perform the task you have used the Wizard to setup.

Wizard

3002


Preferences Dialog

This is the dialog where you can edit and change program preferences

General

The General tab is where you set general program preferences.

Keys

The Keys tab is where you choose the type of key to use. 128 Character keys are the most secure.

Preferences Dialog

15008


Key Extension and Registration Dialog

This dialog is where you can extend or register (un-time lock) an application.

Key Extension and Registration Dialog

15009


Query Link Program

You are saving a key definition file, but you have not chosen a program to associate this key with. Associating a key with a program file makes tracking and managing keys easier. While you do not need to do so, choosing a filename now will save you time and pain later.

Query Link Program

15010


Query Key Defintion Not Found

You are trying to update a key definition file that has not yet been saved. Save it first.

Query Key Defintion Not Found

15011


Tips Of The Day
Tip Of the Day

The Tip Of the Day feature shows pointers maximizing your usage of this TimeCop.

•	You can disable tips by clearing the Show Tips At Startup option. You can see tips from most Help menus.

•	Choose OK when done viewing tips.

•	You can cycle through the tips one at a time by choosing the Next Tip button.

•	The More Tips button shows this help file, which lists all tips.

More Tips

Tips Of the Day

2000


More Tips Of the Day
Tip Of The Day

Following is a list of all tips.

•	Never forget the key embedded within an application - if lost there is no way to recover it!

•	TimeCop also acts as copy protection. A TimeCop application can be forced to end if its key is not found.

•	You can get context sensitive help almost anywhere by pressing F1.

•	You can determine version and other important information from the Help...About menu.

•	You can exit the Tip Of The Day dialog by pressing Escape!

•	Double-clicking on the running man in the Wizard dialog shows our fearless leaders name.

More Tips Of the Day

2001


Show Help
Query Show Help

To see help on using Marquis TimeCop press Yes now. To skip seeing help, press No.

Show_Help

11022


Query Save Changes

You have made changes to a key definitio file, and changes made have not been saved yet. You are now prompted to save the changes before you lose them.

You can choose:

•	Yes to save changes to this key.

•	No to skip saving changes, and proceed anyway.

•	Cancel to cancel this operation and go back to editing the key.

Query Save Changes

12006